\section{abs}

计算一个数值的绝对值。

\subsection*{原型}
\begin{verbatim}
	num abs(num data)
\end{verbatim}

\subsubsection*{data}
num类型。

\subsubsection*{返回值}
返回值为data的绝对值，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;
        x = abs(3);
        print("%n\n", x);

        x = abs(-3);
        print("%n\n", x);

        x = abs(-2.53);
        print("%n\n", x);
    }
\end{verbatim}

本示例将分别打印输出 3, 3, 2.53。

\section{acos}

用于计算一个数值的反余弦值。
其中，反余弦值以弧度表示。

\subsection*{原型}
\begin{verbatim}
	num acos(num data)
\end{verbatim}

\subsubsection*{data}
取值范围为[-1, 1]，num类型。当给定数值超出此范围时，会引起err\_argvalerr错误。

\subsubsection*{返回值}
返回值的取值范围为[0, pi]，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a;

        a = acos(-1);
        print("%n\n", a);

        a = acos(0);
        print("%n\n", a);

        a = acos(0.5);
        print("%n\n", a);

        a = acos(1);
        print("%n\n", a);

        a = acos(1.5);
    }
\end{verbatim}

本示例将分别打印输出 3.14，1.57，1.04，0，之后引起err\_argvalerr错误。

\section{asin}

用于计算一个数值的反正弦值。
其中，反正弦值以弧度表示。

\subsection*{原型}
\begin{verbatim}
	num asin(num data)
\end{verbatim}

\subsubsection*{data}
取值范围为[-1, 1]，num类型。当给定数值超出此范围时，会引起err\_argvalerr错误。

\subsubsection*{返回值}
取值范围为[-pi/2, pi/2]，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a;

        a = asin(-1);
        print("%n\n", a);

        a = asin(0);
        print("%n\n", a);

        a = asin(1);
        print("%n\n", a);

        a = asin(1.5);
    }
\end{verbatim}

本示例将分别打印输出 -1.57，0，1.57，之后引起err\_argvalerr错误。

\section{atan}

用于计算一个数值的反正切值。其中，反正切值以弧度表示。

\subsection*{原型}
\begin{verbatim}
	num atan(num data)
\end{verbatim}

\subsubsection*{data}
参数可以取num类型的任意数值。

\subsubsection*{返回值}
取值范围为[-pi/2, pi/2]，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a;
        a = atan(1);
        print("%n\n", a);

        a = atan(-1);
        print("%n\n", a);
    }
\end{verbatim}

本示例将分别打印输出 0.785，-0.785。

\section{atan2}

用于计算两个数值的比值的反正切值。其中，反正切值以弧度表示。

\subsection*{原型}
\begin{verbatim}
	num atan2(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
作为分子参数值，num类型。

\subsubsection*{data2}
作为分母参数值，num类型。

\subsubsection*{返回值}
等于atan(y/x)，取值范围为[-pi, pi]，num类型，并根据两个参数的符号确定返回值的象限。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a;

        a = atan2(1, 1);
        print("%n\n", a);

        a = atan2(1, -1);
        print("%n\n", a);

        a = atan2(-1, 1);
        print("%n\n", a);

        a = atan2(-1, -1);
        print("%n\n", a);
    }
\end{verbatim}

本示例将分别打印输出0.785，2.356，-0.785，-2.356。

\section{ceil}

计算不小于所给参数的最小整数。

\subsection*{原型}
\begin{verbatim}
num ceil(num data)
\end{verbatim}

\subsubsection*{data}
num类型。

\subsubsection*{返回值}
返回值为num类型。

\subsection*{例子}

\begin{verbatim}
  void main() {
      num i = 2.4;
      print("%n\n", ceil(i));

      i = -3.7;
      print("%n\n", ceil(i));
        
      i = 0;
      print("%n\n", ceil(i));
  }
\end{verbatim}

本示例将分别打印输出 3, -3, 0。

\section{cos}

计算一个角度值的余弦值。

\subsection*{原型}
\begin{verbatim}
num cos(num data)
\end{verbatim}

\subsubsection*{data}
角度值以弧度表示，num类型。

\subsubsection*{返回值}
返回值范围为[-1, 1]，num类型。

\subsection*{例子}

\begin{verbatim}
  void main() {
      num i = 3.1415926535898;
      print("%n\n", cos(i));

      i = 1.047;
      print("%n\n", cos(i));
        
      i = 0;
      print("%n\n", cos(i));
  }
\end{verbatim}

本示例将分别打印输出 -1, 0.5, 1。

\section{deg2rad}

计算一个角度值的弧度值。

\subsection*{原型}
\begin{verbatim}
num deg2rad(num data)
\end{verbatim}

\subsubsection*{data}
num类型。

\subsubsection*{返回值}
返回值为num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num d;
        d = deg2rad(60);
        print("%n\n", d);
    }
\end{verbatim}

本示例将打印输出 1.047。

\section{exp}

用于得到一个数值的指数值。

\subsection*{原型}
\begin{verbatim}
num exp(num data)
\end{verbatim}

\subsubsection*{data}
参数可以取任意num类型的数值。

\subsubsection*{返回值}
得到的指数值，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;
        x = exp(4);
        print("x = %n", x);
    }
\end{verbatim}

本示例将打印输出54.598。

\section{floor}

计算不大于所给参数的最大整数。

\subsection*{原型}
\begin{verbatim}
num floor(num data)
\end{verbatim}

\subsubsection*{data}
任意num类型的数值。

\subsubsection*{返回值}
返回值为num类型。

\subsection*{例子}

\begin{verbatim}
  void main() {
      num i = 50.2;
      print("%n\n", floor(i));

      i = 0.2;
      print("%n\n", floor(i));

      i = -50.2;
      print("%n\n", floor(i));

      i = -0.2;
      print("%n\n", floor(i));

      i = 0;
      print("%n\n", floor(i));
  }
\end{verbatim}

本示例将分别打印输出 50, 0, -51, -1, 0。

\section{fmod}

返回一个数除以另一个数的余数，余数可以为浮点数。

\subsection*{原型}
\begin{verbatim}
	num fmod(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
作为分子参数值，num类型。

\subsubsection*{data2}
作为分母参数值，num类型。

\subsubsection*{返回值}
返回值为num类型，值为x除以y的余数。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a = 9.2;
        num b = 3.7
        num c = 2;

        print("%n\n", fmod(a, c));
        print("%n\n", fmod(a, b));
    }
\end{verbatim}

本示例将分别打印输出 1.2, 1.8。

\section{frexp}

把浮点数分解成尾数和指数。

\subsection*{原型}
\begin{verbatim}
	num frexp(num data, num& i)
\end{verbatim}

\subsubsection*{data}
要被分解计算的浮点值，num类型。

\subsubsection*{i}
num类型的引用类型，指数的结果会存储到此引用代表的变量中。

\subsubsection*{返回值}
返回值为num类型，值为分解的尾数的值。有以下等式成立：\verb|data = 返回值 * 2 ^ i|。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num n1 = 160;
        num i;
        num n2;
        n2 = frexp(n1, i);
        
        print("%n\n", n2);
        print("%n\n", i);
    }
\end{verbatim}

本示例将分别打印输出 0.625, 8。

\section{idiv}

用于计算两个整数值的整数除法。被除数和除数都应该是整数，如果给定的不是整数，会引发err\_notintval错误。

\subsection*{原型}
\begin{verbatim}
	num idiv(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
被除数的值，num类型。

\subsubsection*{data2}
除数的值，num类型。除数不能为0，否则会引发err\_divzero错误。

\subsubsection*{返回值}
返回值为商的值，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;

        x = idiv(3.0, 1.0);
        print("%n\n", x);

        x = idiv(3.3, 2);
        print("%n\n", x);
    }
\end{verbatim}

本示例将先打印输出3，之后引发err\_notintval错误。

\section{imod}

用于计算两个整数值的整数求余。被除数和除数都应该是整数，如果给定的不是整数，会引发err\_notintval错误。

\subsection*{原型}
\begin{verbatim}
	num imod(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
被除数的值，num类型。

\subsubsection*{data2}
除数的值，num类型。除数不能为0，否则会引发err\_divzero错误。

\subsubsection*{返回值}
返回值为余数的值，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;

        x = imod(3.0, 2.0);
        print("%n\n", x);

        x = imod(2, 0);
        print("%n\n", x);
    }
\end{verbatim}

本示例将先打印输出1，之后引发err\_divzero错误。

\section{ldexp}

计算给定尾数和指数所对应的浮点数。

\subsection*{原型}
\begin{verbatim}
	num ldexp(num data, num i)
\end{verbatim}

\subsubsection*{data}
浮点值的尾数的值，num类型。

\subsubsection*{i}
浮点数的指数的值，num类型。

\subsubsection*{返回值}
返回值为num类型，且有以下等式成立：\verb|返回值 = data * 2 ^ i|。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num n1;
        n1 = ldexp(0.65, 3);
        print("%n\n", n1);
    }
\end{verbatim}

本示例将打印输出 5.2。

\section{log}

计算给定数值的自然对数（基数为e）。

\subsection*{原型}
\begin{verbatim}
num log(num data)
\end{verbatim}

\subsubsection*{data}
num类型。

\subsubsection*{返回值}
返回值为num类型，值为data的自然对数。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num i = 2.7;
        print("%n\n", log(i));
    }
\end{verbatim}

本示例将打印输出 0.993。

\section{log10}

计算给定数值的常用对数（基数为10）。

\subsection*{原型}
\begin{verbatim}
num log10(num data)
\end{verbatim}

\subsubsection*{data}
num类型。

\subsubsection*{返回值}
返回值为num类型，值为data的常用对数。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num i = 10000;
        print("%n\n", log10(i));
    }
\end{verbatim}

本示例将打印输出 4。

\section{max}

用于计算两个数值中的较大值。

\subsection*{原型}
\begin{verbatim}
	num max(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
需要比较的第1个数值，num类型。

\subsubsection*{data2}
需要比较的第2个数值，num类型。

\subsubsection*{返回值}
num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;

        x = max(1.3, 4.7);
        print("%n\n", x);

        x = max(-5.61, 7);
        print("%n\n", x);

        x = max(-1, -9.8);
        print("%n\n", x);
    }
\end{verbatim}

本示例将分别打印输出4.7，7，-1。

\section{min}

用于计算两个数值中的较小值。

\subsection*{原型}
\begin{verbatim}
	num min(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
需要比较的第1个数值，num类型。

\subsubsection*{data2}
需要比较的第2个数值，num类型。

\subsubsection*{返回值}
num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;

        x = min(1.3, 4.7);
        print("%n\n", x);

        x = min(-5.61, 7);
        print("%n\n", x);

        x = min(-1, -9.8);
        print("%n\n", x);
    }
\end{verbatim}

本示例将分别打印输出1.3，-5.61，-9.8。

\section{modf}

把浮点数分解成整数部分和小数部分。

\subsection*{原型}
\begin{verbatim}
	num modf(num data, num& i)
\end{verbatim}

\subsubsection*{data}
要被分解计算的浮点值，num类型。

\subsubsection*{i}
num类型的引用类型，整数的结果会存储到此引用代表的变量中。

\subsubsection*{返回值}
返回值为num类型，值为分解的小数的值。有以下等式成立：\verb|data = i + 返回值|。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num n1 = 20.15;
        num i;
        num n2;
        n2 = modf(n1, i);
        
        print("%n\n", n2);
        print("%n\n", i);
    }
\end{verbatim}

本示例将分别打印输出 0.15, 20。

\section{pow}

计算任意底数的指数值。

\subsection*{原型}
\begin{verbatim}
num pow(num data1, num data2)
\end{verbatim}

\subsubsection*{data1}
底数，num类型。

\subsubsection*{data2}
指数，num类型。

\subsubsection*{返回值}
返回值为num类型，其值为底数的指数值。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x = 10;
        num y = 2;
        num reg;
        reg = pow(x, y);
        print("%n\n", reg);
    }
\end{verbatim}

本示例将打印输出 100。

\section{rad2deg}

计算一个弧度值的角度值。

\subsection*{原型}
\begin{verbatim}
num rad2deg(num data)
\end{verbatim}

\subsubsection*{data}
num类型。

\subsubsection*{返回值}
返回值为num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num d;
        d = rad2deg(0.7);
        print("%n\n", d);
    }
\end{verbatim}

本示例将打印输出 40.107。

\section{sin}

计算一个角度值的正弦值。

\subsection*{原型}
\begin{verbatim}
num sin(num data)
\end{verbatim}

\subsubsection*{data}
角度值以弧度标识，num类型。

\subsubsection*{返回值}
范围是[-1, 1]，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a = 0;
        print("%n\n", sin(a));
        
        a = 0.5235987755983;
        print("%n\n", sin(a));
    }
\end{verbatim}

本示例将分别打印输出 0, 0.5。

\section{sqrt}

用于计算平方根。

\subsection*{原型}
\begin{verbatim}
num sqrt(num data)
\end{verbatim}

\subsubsection*{data}
输入参数为正数或0，num类型。

\subsubsection*{返回值}
输入参数的平方根，num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num x;
        x = sqrt(9);
        print("%n", x);
        x = sqrt(88);
        print("%n", x);
    }
\end{verbatim}

本示例将分别打印输出 3, 9.38。

\section{tan}

计算一个角度值的正切值。

\subsection*{原型}
\begin{verbatim}
num tan(num data)
\end{verbatim}

\subsubsection*{data}
角度值以弧度表示，num类型。

\subsubsection*{返回值}
返回值为num类型。

\subsection*{例子}

\begin{verbatim}
    void main() {
        num a = 0;
        print("%n\n", tan(a));

        a = 0.7854;
        print("%n\n", tan(a));
    }
\end{verbatim}

本示例将分别打印输出 0, 1.0。
